3ee44fd75753f4bf1b9ccaee572fe12656780717,jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java,HttpDestination,getIdleConnection,#,206
Before Change
// Find an idle connection
while (_idle.size() > 0)
{
HttpConnection connection = _idle.remove(_idle.size() - 1);
long last = connection.getLast();
if (connection.getEndPoint().isOpen() && (last == 0 || ((now - last) < idleTimeout)))
return connection;
else
{
_connections.remove(connection);
connection.getEndPoint().close();
}
}
After Change
{
long now = System.currentTimeMillis();
long idleTimeout=_client.getIdleTimeout();
HttpConnection connection = null;
while (true)
{
synchronized (this)
{
if (_idle.size() > 0)
connection = _idle.remove(_idle.size()-1);
}
if (connection==null)
return null;
long last = connection.getLast();
if (connection.getEndPoint().isOpen() && (last==0 || ((now-last)<idleTimeout)) )
return connection;
_connections.remove(connection);
connection.getEndPoint().close();
connection=null;
}